﻿using System;
namespace Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister {
    
    
    public partial class Paring3Soidukiandmed : global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IParing3Soidukiandmed {
        
        private string @__regmrk;
        
        private string @__nrTyyp;
        
        private string @__regtun;
        
        private string @__regtunKuup;
        
        private string @__kehtiv;
        
        private string @__regtulek;
        
        private string @__regtunValjastaja;
        
        private string @__idkood;
        
        private string @__vinkood;
        
        private Paring3Soidukiandmed.ISoidukiAndmedType @__soidukiAndmed;
        
        private string @__piirang;
        
        private Paring3Soidukiandmed.IOmaAndmedVType @__omaAndmedV;
        
        private System.Collections.Generic.List<Paring3Soidukiandmed.IKaasomaAndmedVType> @__kaasomaAndmedV = new System.Collections.Generic.List<Paring3Soidukiandmed.IKaasomaAndmedVType>();
        
        private Paring3Soidukiandmed.IVkasutAndmedType @__vkasutAndmed;
        
        private string @__kasutajad;
        
        public Paring3Soidukiandmed() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Paring3Soidukiandmed(string @regmrk, string @nrTyyp, string @regtun, string @regtunKuup, string @kehtiv, string @regtulek, string @regtunValjastaja, string @idkood, string @vinkood, Paring3Soidukiandmed.ISoidukiAndmedType @soidukiAndmed, string @piirang, Paring3Soidukiandmed.IOmaAndmedVType @omaAndmedV, System.Collections.Generic.List<Paring3Soidukiandmed.IKaasomaAndmedVType> @kaasomaAndmedV, Paring3Soidukiandmed.IVkasutAndmedType @vkasutAndmed, string @kasutajad) {
            this.@__regmrk = @regmrk;
            this.@__nrTyyp = @nrTyyp;
            this.@__regtun = @regtun;
            this.@__regtunKuup = @regtunKuup;
            this.@__kehtiv = @kehtiv;
            this.@__regtulek = @regtulek;
            this.@__regtunValjastaja = @regtunValjastaja;
            this.@__idkood = @idkood;
            this.@__vinkood = @vinkood;
            this.@__soidukiAndmed = @soidukiAndmed;
            this.@__piirang = @piirang;
            this.@__omaAndmedV = @omaAndmedV;
            this.@__kaasomaAndmedV = @kaasomaAndmedV;
            this.@__vkasutAndmed = @vkasutAndmed;
            this.@__kasutajad = @kasutajad;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public Paring3Soidukiandmed(Paring3Soidukiandmed.ISoidukiAndmedType @soidukiAndmed, Paring3Soidukiandmed.IOmaAndmedVType @omaAndmedV, System.Collections.Generic.List<Paring3Soidukiandmed.IKaasomaAndmedVType> @kaasomaAndmedV, Paring3Soidukiandmed.IVkasutAndmedType @vkasutAndmed) {
            this.@__soidukiAndmed = @soidukiAndmed;
            this.@__omaAndmedV = @omaAndmedV;
            this.@__kaasomaAndmedV = @kaasomaAndmedV;
            this.@__vkasutAndmed = @vkasutAndmed;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Paring3Soidukiandmed(IParing3Soidukiandmed @paring3Soidukiandmed) {
            this.@__regmrk = @paring3Soidukiandmed.Regmrk;
            this.@__nrTyyp = @paring3Soidukiandmed.NrTyyp;
            this.@__regtun = @paring3Soidukiandmed.Regtun;
            this.@__regtunKuup = @paring3Soidukiandmed.RegtunKuup;
            this.@__kehtiv = @paring3Soidukiandmed.Kehtiv;
            this.@__regtulek = @paring3Soidukiandmed.Regtulek;
            this.@__regtunValjastaja = @paring3Soidukiandmed.RegtunValjastaja;
            this.@__idkood = @paring3Soidukiandmed.Idkood;
            this.@__vinkood = @paring3Soidukiandmed.Vinkood;
            this.@__soidukiAndmed = @paring3Soidukiandmed.SoidukiAndmed;
            this.@__piirang = @paring3Soidukiandmed.Piirang;
            this.@__omaAndmedV = @paring3Soidukiandmed.OmaAndmedV;
            this.@__kaasomaAndmedV = @paring3Soidukiandmed.KaasomaAndmedV;
            this.@__vkasutAndmed = @paring3Soidukiandmed.VkasutAndmed;
            this.@__kasutajad = @paring3Soidukiandmed.Kasutajad;
        }
        
        public virtual string Regmrk {
            get {
                return this.@__regmrk;
            }
            set {
                this.@__regmrk = value;
            }
        }
        
        public virtual string NrTyyp {
            get {
                return this.@__nrTyyp;
            }
            set {
                this.@__nrTyyp = value;
            }
        }
        
        public virtual string Regtun {
            get {
                return this.@__regtun;
            }
            set {
                this.@__regtun = value;
            }
        }
        
        public virtual string RegtunKuup {
            get {
                return this.@__regtunKuup;
            }
            set {
                this.@__regtunKuup = value;
            }
        }
        
        public virtual string Kehtiv {
            get {
                return this.@__kehtiv;
            }
            set {
                this.@__kehtiv = value;
            }
        }
        
        public virtual string Regtulek {
            get {
                return this.@__regtulek;
            }
            set {
                this.@__regtulek = value;
            }
        }
        
        public virtual string RegtunValjastaja {
            get {
                return this.@__regtunValjastaja;
            }
            set {
                this.@__regtunValjastaja = value;
            }
        }
        
        public virtual string Idkood {
            get {
                return this.@__idkood;
            }
            set {
                this.@__idkood = value;
            }
        }
        
        public virtual string Vinkood {
            get {
                return this.@__vinkood;
            }
            set {
                this.@__vinkood = value;
            }
        }
        
        public virtual Paring3Soidukiandmed.ISoidukiAndmedType SoidukiAndmed {
            get {
                return this.@__soidukiAndmed;
            }
            set {
                this.@__soidukiAndmed = value;
            }
        }
        
        public virtual string Piirang {
            get {
                return this.@__piirang;
            }
            set {
                this.@__piirang = value;
            }
        }
        
        public virtual Paring3Soidukiandmed.IOmaAndmedVType OmaAndmedV {
            get {
                return this.@__omaAndmedV;
            }
            set {
                this.@__omaAndmedV = value;
            }
        }
        
        public virtual System.Collections.Generic.List<Paring3Soidukiandmed.IKaasomaAndmedVType> KaasomaAndmedV {
            get {
                return this.@__kaasomaAndmedV;
            }
            set {
                this.@__kaasomaAndmedV = value;
            }
        }
        
        public virtual Paring3Soidukiandmed.IVkasutAndmedType VkasutAndmed {
            get {
                return this.@__vkasutAndmed;
            }
            set {
                this.@__vkasutAndmed = value;
            }
        }
        
        public virtual string Kasutajad {
            get {
                return this.@__kasutajad;
            }
            set {
                this.@__kasutajad = value;
            }
        }
        
        public partial class SoidukiAndmedType : ISoidukiAndmedType {
            
            private string @__kateg;
            
            private string @__marknm;
            
            private string @__mudelMod;
            
            private string @__kerenm;
            
            private string @__mootornm;
            
            private string @__mootmht;
            
            private string @__mootvms;
            
            private string @__ehitaasta;
            
            private string @__varvNimetus;
            
            public SoidukiAndmedType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public SoidukiAndmedType(string @kateg, string @marknm, string @mudelMod, string @kerenm, string @mootornm, string @mootmht, string @mootvms, string @ehitaasta, string @varvNimetus) {
                this.@__kateg = @kateg;
                this.@__marknm = @marknm;
                this.@__mudelMod = @mudelMod;
                this.@__kerenm = @kerenm;
                this.@__mootornm = @mootornm;
                this.@__mootmht = @mootmht;
                this.@__mootvms = @mootvms;
                this.@__ehitaasta = @ehitaasta;
                this.@__varvNimetus = @varvNimetus;
            }
            
            /// <summary>
            /// Required parameters
            /// </summary>
            public SoidukiAndmedType(string @kateg, string @marknm) {
                this.@__kateg = @kateg;
                this.@__marknm = @marknm;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected SoidukiAndmedType(ISoidukiAndmedType @soidukiAndmedType) {
                this.@__kateg = @soidukiAndmedType.Kateg;
                this.@__marknm = @soidukiAndmedType.Marknm;
                this.@__mudelMod = @soidukiAndmedType.MudelMod;
                this.@__kerenm = @soidukiAndmedType.Kerenm;
                this.@__mootornm = @soidukiAndmedType.Mootornm;
                this.@__mootmht = @soidukiAndmedType.Mootmht;
                this.@__mootvms = @soidukiAndmedType.Mootvms;
                this.@__ehitaasta = @soidukiAndmedType.Ehitaasta;
                this.@__varvNimetus = @soidukiAndmedType.VarvNimetus;
            }
            
            public virtual string Kateg {
                get {
                    return this.@__kateg;
                }
                set {
                    this.@__kateg = value;
                }
            }
            
            public virtual string Marknm {
                get {
                    return this.@__marknm;
                }
                set {
                    this.@__marknm = value;
                }
            }
            
            public virtual string MudelMod {
                get {
                    return this.@__mudelMod;
                }
                set {
                    this.@__mudelMod = value;
                }
            }
            
            public virtual string Kerenm {
                get {
                    return this.@__kerenm;
                }
                set {
                    this.@__kerenm = value;
                }
            }
            
            public virtual string Mootornm {
                get {
                    return this.@__mootornm;
                }
                set {
                    this.@__mootornm = value;
                }
            }
            
            public virtual string Mootmht {
                get {
                    return this.@__mootmht;
                }
                set {
                    this.@__mootmht = value;
                }
            }
            
            public virtual string Mootvms {
                get {
                    return this.@__mootvms;
                }
                set {
                    this.@__mootvms = value;
                }
            }
            
            public virtual string Ehitaasta {
                get {
                    return this.@__ehitaasta;
                }
                set {
                    this.@__ehitaasta = value;
                }
            }
            
            public virtual string VarvNimetus {
                get {
                    return this.@__varvNimetus;
                }
                set {
                    this.@__varvNimetus = value;
                }
            }
        }
        
        public interface ISoidukiAndmedType {
            
            string Kateg {
                get;
                set;
            }
            
            string Marknm {
                get;
                set;
            }
            
            string MudelMod {
                get;
                set;
            }
            
            string Kerenm {
                get;
                set;
            }
            
            string Mootornm {
                get;
                set;
            }
            
            string Mootmht {
                get;
                set;
            }
            
            string Mootvms {
                get;
                set;
            }
            
            string Ehitaasta {
                get;
                set;
            }
            
            string VarvNimetus {
                get;
                set;
            }
        }
        
        public partial class OmaAndmedVType : IOmaAndmedVType {
            
            private string @__omaKood;
            
            private string @__omaNimi;
            
            private string @__omaEesnimi;
            
            private string @__aadress;
            
            private string @__asukAkood;
            
            private string @__omaMuud;
            
            public OmaAndmedVType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public OmaAndmedVType(string @omaKood, string @omaNimi, string @omaEesnimi, string @aadress, string @asukAkood, string @omaMuud) {
                this.@__omaKood = @omaKood;
                this.@__omaNimi = @omaNimi;
                this.@__omaEesnimi = @omaEesnimi;
                this.@__aadress = @aadress;
                this.@__asukAkood = @asukAkood;
                this.@__omaMuud = @omaMuud;
            }
            
            /// <summary>
            /// Required parameters
            /// </summary>
            public OmaAndmedVType(string @omaKood, string @omaNimi) {
                this.@__omaKood = @omaKood;
                this.@__omaNimi = @omaNimi;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected OmaAndmedVType(IOmaAndmedVType @omaAndmedVType) {
                this.@__omaKood = @omaAndmedVType.OmaKood;
                this.@__omaNimi = @omaAndmedVType.OmaNimi;
                this.@__omaEesnimi = @omaAndmedVType.OmaEesnimi;
                this.@__aadress = @omaAndmedVType.Aadress;
                this.@__asukAkood = @omaAndmedVType.AsukAkood;
                this.@__omaMuud = @omaAndmedVType.OmaMuud;
            }
            
            public virtual string OmaKood {
                get {
                    return this.@__omaKood;
                }
                set {
                    this.@__omaKood = value;
                }
            }
            
            public virtual string OmaNimi {
                get {
                    return this.@__omaNimi;
                }
                set {
                    this.@__omaNimi = value;
                }
            }
            
            public virtual string OmaEesnimi {
                get {
                    return this.@__omaEesnimi;
                }
                set {
                    this.@__omaEesnimi = value;
                }
            }
            
            public virtual string Aadress {
                get {
                    return this.@__aadress;
                }
                set {
                    this.@__aadress = value;
                }
            }
            
            public virtual string AsukAkood {
                get {
                    return this.@__asukAkood;
                }
                set {
                    this.@__asukAkood = value;
                }
            }
            
            public virtual string OmaMuud {
                get {
                    return this.@__omaMuud;
                }
                set {
                    this.@__omaMuud = value;
                }
            }
        }
        
        public interface IOmaAndmedVType {
            
            string OmaKood {
                get;
                set;
            }
            
            string OmaNimi {
                get;
                set;
            }
            
            string OmaEesnimi {
                get;
                set;
            }
            
            string Aadress {
                get;
                set;
            }
            
            string AsukAkood {
                get;
                set;
            }
            
            string OmaMuud {
                get;
                set;
            }
        }
        
        public partial class KaasomaAndmedVType : IKaasomaAndmedVType {
            
            private string @__kaasomaKood;
            
            private string @__kaasomaNimi;
            
            private string @__kaasomaEesnimi;
            
            private string @__kaasomaAadress;
            
            private string @__kaasomaAsukAkood;
            
            public KaasomaAndmedVType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public KaasomaAndmedVType(string @kaasomaKood, string @kaasomaNimi, string @kaasomaEesnimi, string @kaasomaAadress, string @kaasomaAsukAkood) {
                this.@__kaasomaKood = @kaasomaKood;
                this.@__kaasomaNimi = @kaasomaNimi;
                this.@__kaasomaEesnimi = @kaasomaEesnimi;
                this.@__kaasomaAadress = @kaasomaAadress;
                this.@__kaasomaAsukAkood = @kaasomaAsukAkood;
            }
            
            /// <summary>
            /// Required parameters
            /// </summary>
            public KaasomaAndmedVType(string @kaasomaKood, string @kaasomaNimi) {
                this.@__kaasomaKood = @kaasomaKood;
                this.@__kaasomaNimi = @kaasomaNimi;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected KaasomaAndmedVType(IKaasomaAndmedVType @kaasomaAndmedVType) {
                this.@__kaasomaKood = @kaasomaAndmedVType.KaasomaKood;
                this.@__kaasomaNimi = @kaasomaAndmedVType.KaasomaNimi;
                this.@__kaasomaEesnimi = @kaasomaAndmedVType.KaasomaEesnimi;
                this.@__kaasomaAadress = @kaasomaAndmedVType.KaasomaAadress;
                this.@__kaasomaAsukAkood = @kaasomaAndmedVType.KaasomaAsukAkood;
            }
            
            public virtual string KaasomaKood {
                get {
                    return this.@__kaasomaKood;
                }
                set {
                    this.@__kaasomaKood = value;
                }
            }
            
            public virtual string KaasomaNimi {
                get {
                    return this.@__kaasomaNimi;
                }
                set {
                    this.@__kaasomaNimi = value;
                }
            }
            
            public virtual string KaasomaEesnimi {
                get {
                    return this.@__kaasomaEesnimi;
                }
                set {
                    this.@__kaasomaEesnimi = value;
                }
            }
            
            public virtual string KaasomaAadress {
                get {
                    return this.@__kaasomaAadress;
                }
                set {
                    this.@__kaasomaAadress = value;
                }
            }
            
            public virtual string KaasomaAsukAkood {
                get {
                    return this.@__kaasomaAsukAkood;
                }
                set {
                    this.@__kaasomaAsukAkood = value;
                }
            }
        }
        
        public interface IKaasomaAndmedVType {
            
            string KaasomaKood {
                get;
                set;
            }
            
            string KaasomaNimi {
                get;
                set;
            }
            
            string KaasomaEesnimi {
                get;
                set;
            }
            
            string KaasomaAadress {
                get;
                set;
            }
            
            string KaasomaAsukAkood {
                get;
                set;
            }
        }
        
        public partial class VkasutAndmedType : IVkasutAndmedType {
            
            private string @__vkasutKood;
            
            private string @__vkasutNimi;
            
            private string @__vkasutEesnimi;
            
            private string @__vkasutAadress;
            
            private string @__vkasutAsukAkood;
            
            public VkasutAndmedType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public VkasutAndmedType(string @vkasutKood, string @vkasutNimi, string @vkasutEesnimi, string @vkasutAadress, string @vkasutAsukAkood) {
                this.@__vkasutKood = @vkasutKood;
                this.@__vkasutNimi = @vkasutNimi;
                this.@__vkasutEesnimi = @vkasutEesnimi;
                this.@__vkasutAadress = @vkasutAadress;
                this.@__vkasutAsukAkood = @vkasutAsukAkood;
            }
            
            /// <summary>
            /// Required parameters
            /// </summary>
            public VkasutAndmedType(string @vkasutKood, string @vkasutNimi) {
                this.@__vkasutKood = @vkasutKood;
                this.@__vkasutNimi = @vkasutNimi;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected VkasutAndmedType(IVkasutAndmedType @vkasutAndmedType) {
                this.@__vkasutKood = @vkasutAndmedType.VkasutKood;
                this.@__vkasutNimi = @vkasutAndmedType.VkasutNimi;
                this.@__vkasutEesnimi = @vkasutAndmedType.VkasutEesnimi;
                this.@__vkasutAadress = @vkasutAndmedType.VkasutAadress;
                this.@__vkasutAsukAkood = @vkasutAndmedType.VkasutAsukAkood;
            }
            
            public virtual string VkasutKood {
                get {
                    return this.@__vkasutKood;
                }
                set {
                    this.@__vkasutKood = value;
                }
            }
            
            public virtual string VkasutNimi {
                get {
                    return this.@__vkasutNimi;
                }
                set {
                    this.@__vkasutNimi = value;
                }
            }
            
            public virtual string VkasutEesnimi {
                get {
                    return this.@__vkasutEesnimi;
                }
                set {
                    this.@__vkasutEesnimi = value;
                }
            }
            
            public virtual string VkasutAadress {
                get {
                    return this.@__vkasutAadress;
                }
                set {
                    this.@__vkasutAadress = value;
                }
            }
            
            public virtual string VkasutAsukAkood {
                get {
                    return this.@__vkasutAsukAkood;
                }
                set {
                    this.@__vkasutAsukAkood = value;
                }
            }
        }
        
        public interface IVkasutAndmedType {
            
            string VkasutKood {
                get;
                set;
            }
            
            string VkasutNimi {
                get;
                set;
            }
            
            string VkasutEesnimi {
                get;
                set;
            }
            
            string VkasutAadress {
                get;
                set;
            }
            
            string VkasutAsukAkood {
                get;
                set;
            }
        }
    }
}
